//
//  HHTagListConfig.h
//  ZHTagList
//
//  Created by Basic on 2018/10/20.
//  TagList 配置

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface HHTagListConfig : NSObject
/** 固定的列数，默认0 ，不固定，根据每一项自适应排列 */
@property (nonatomic, assign) NSInteger fixedColumnCount;
/** 固定列数，每一项item的 宽度，会自动根据 fixedColumnCount 计算，不需要设置 */
@property (nonatomic, assign, readonly) CGFloat fixedItemWidth;
/** 每一行的内部padding，默认{0，0，0，0} */
@property (nonatomic, assign) UIEdgeInsets  linePadding;
/** 内容的padding，默认{0，0，0，0} */
@property (nonatomic, assign) UIEdgeInsets  contentPadding;
/** 行间距，默认9 */
@property (nonatomic, assign) CGFloat   lineSpacing;
/** 固定行高;如果设置了这个属性，会忽略 linePadding.top+bottom;默认0，不固定，根据 text 计算;*/
@property (nonatomic, assign) CGFloat   lineHeight;
/** 水平方向，item固定的空白，默认15，固定列数模式下，无效 */
@property (nonatomic, assign) CGFloat   rowSpacing;
/** 最大宽度，默认屏幕宽度 */
@property (nonatomic, assign) CGFloat   maxLayoutWidth;
/** 最大行数，默认是3行 */
@property (nonatomic, assign) NSInteger maxLine;
/** 是否可以重复反选（选中状态，点击之后变成未选中），默认NO */
@property (nonatomic, assign) BOOL  selectRepeat;
/** 是否可以多选，默认NO */
@property (nonatomic, assign) BOOL  multiSelect;
/** 是否禁止触摸选中，默认NO，即支持触摸选中、反选*/
@property (nonatomic, assign) BOOL  disableTouchSelect;
/// 文本行数 默认0
@property (nonatomic, assign) NSInteger  textNumberOfLines;

//////正常状态
/** 文字的frame,默认CGRectZero,不设置;如果设置了origin,size未设置,size默认text.size */
@property (nonatomic, assign) CGRect    itemTextFrame;
/** 图片的frame,默认CGRectZero,不设置;如果设置了origin,size未设置,size默认image.size */
@property (nonatomic, assign) CGRect    itemImgFrame;
/** item 内边距，默认 (5, 15, 5, 15)，只在不是固定列数的是有效,即 fixedColumnCount=0 */
@property (nonatomic, assign) UIEdgeInsets  itemPadding;
/** item image是否在右侧，默认false，即再左侧 */
@property (nonatomic, assign) BOOL   isItemImgRight;
/** item 字体，默认系统字体 15 */
@property (nonatomic, strong) UIFont    *itemFont;
/** item 文本颜色，默认黑色 */
@property (nonatomic, strong) UIColor   *itemTextColor;
/** item 正常状态的 img，默认 nil */
@property (nonatomic, strong, nullable) UIImage   *itemImg;
/** item 正常状态的 图片和文本的距离，有图片的话,默认 15;否则默认0*/
@property (nonatomic, assign) CGFloat   itemImgTextSpace;
/** item 背景颜色，默认 白色 */
@property (nonatomic, strong) UIColor   *itemBgColor;
/** item 圆角，默认15，0表示没有圆角 */
@property (nonatomic, assign) CGFloat   itemCornerRadius;
/** item 边框宽度，默认0，不显示边框 */
@property (nonatomic, assign) CGFloat   itemBorderWidth;
/** item 边框颜色，默认 nil不显示边框 */
@property (nonatomic, strong, nullable) UIColor *itemBorderColor;

////选中状态
/** item 选中状态的 字体，默认nil，不改变字体 */
@property (nonatomic, strong, nullable) UIFont  *itemSelectFont;
/** item 选中状态的 文本颜色，默认白色 */
@property (nonatomic, strong) UIColor   *itemSelectTextColor;
/** item 选中状态的 img，默认 nil */
@property (nonatomic, strong, nullable) UIImage   *itemSelectImg;
/** item 选中状态的 背景颜色，默认 0x3FD3AC */
@property (nonatomic, strong) UIColor   *itemSelectBgColor;
/** item 选中状态的 边框颜色，默认 nil，无边框 */
@property (nonatomic, strong, nullable) UIColor   *itemSelectBorderColor;

@end

NS_ASSUME_NONNULL_END
